package org.sith.taskrunner.gwt.client.services.user;

import com.google.gwt.user.client.rpc.AsyncCallback;
import org.sith.taskrunner.gwt.shared.proxy.RoleProxy;
import org.sith.taskrunner.gwt.shared.proxy.UserEntityProxy;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: sith
 * Date: Oct 31, 2010
 * Time: 10:46:17 AM
 * To change this template use File | Settings | File Templates.
 */
public interface UsersManageGWTServiceAsync {
    void addUser(UserEntityProxy user, AsyncCallback<Void> async);

    void removeUser(UserEntityProxy user, AsyncCallback<Void> async);

    void updateUser(UserEntityProxy user, AsyncCallback<Void> async);

    void updateUserActiveState(Long id, boolean active, AsyncCallback<Void> async);

    void updateUserRole(Long id, RoleProxy role, AsyncCallback<Void> async);

    void getUser(Long id, AsyncCallback<UserEntityProxy> async);

    void getUsers(AsyncCallback<List<UserEntityProxy>> async);
}
